package srv;

import java.sql.Date;
import java.util.ArrayList;
import java.util.List;

import dao.ListaPreciosDAO;
import dto.ListaDePrecioTO;
import Dominio.ItemListaDePrecio;
import Dominio.ListaDePrecio;

public class srvListaPrecios {
	
	private static ListaPreciosDAO daoListaPrecios = ListaPreciosDAO.getInstancia(); 
	
	public void persistListaPrecios(ListaDePrecio lp){
		daoListaPrecios.persistListaPrecios(lp);
	}
	
	public void persistItemListaPrecios(ItemListaDePrecio item){
		daoListaPrecios.persistItemListaPrecios(item);
	}
	
	//El numeroListaPrecios es el ID que se genera
	public ListaDePrecio getListaPrecios(int numeroListaPrecios){
		return daoListaPrecios.getListaPrecios(numeroListaPrecios);
	}
	
	public ItemListaDePrecio getItemListaPrecios(int idItemListaPrecios){
		return daoListaPrecios.getItemListaPrecios(idItemListaPrecios);
	}
	
	public ItemListaDePrecio getItemListaPreciosPorRodamiento(int idRodamiento){
		return daoListaPrecios.getItemListaPreciosPorRodamiento(idRodamiento);
	}
	
	public List<ListaDePrecio> listaDeProveedor(int idProveedor){
		return daoListaPrecios.listaDeProveedor(idProveedor);
	}

	public List<ItemListaDePrecio> listaDeItemsDeListaDePrecio (ListaDePrecio lp){
		return daoListaPrecios.listaDeItemsDeListaDePrecio(lp);
	}
	
	public void crearListaPrecios(Date vigencia) 
	{
		ListaDePrecio lista = new ListaDePrecio();
		lista.setFechaVigencia(vigencia);
		
		daoListaPrecios.persistListaPrecios(lista);
	}
	
	public void agregarItemListaPrecios(ListaDePrecio lista, ItemListaDePrecio item) 
	{
		daoListaPrecios.persistListaPrecios(lista);
	}

	public List<ListaDePrecioTO> getListasDePrecio() 
	{
		List<ListaDePrecio> lista = daoListaPrecios.getListasPrecios();
		List<ListaDePrecioTO> listaTO = new ArrayList<ListaDePrecioTO>();
		
		for (ListaDePrecio listaAux : lista) 
		{
			listaTO.add(listaAux.toTO());
		}
		
		return listaTO;
	}

}
